#ifndef __ASFTSETTINGSCREEN_H__
#define __ASFTSETTINGSCREEN_H__

#include "ASScreen.h"
#include "..\control\ASList.h"

typedef enum
{
    //AS_FT_SETTING_HOMEPAGE,
    AS_FT_SETTING_INCOME_MGR,
    AS_FT_SETTING_PAY_MGR,
    AS_FT_SETTING_MEMBER_MGR,
    //AS_FT_SETTING_LOCAL_PW,

    AS_FT_SETTING_MAIN_TYPE_MAX,

    AS_FT_SETTING_PAY_SUB_MGR,
    AS_FT_SETTING_HOMEPAGE_SUB,

    AS_FT_SETTING_TOTAL_TYPE_MAX
} as_ft_setting_type;

typedef enum
{
    AS_FT_SETTING_OPT_EDIT,
    AS_FT_SETTING_OPT_DELETE,
    AS_FT_SETTING_OPT_NEW,
    AS_FT_SETTINF_OPT_PAY_SUB,

    AS_FT_SETTING_OPT_MAX
} as_ft_setting_option;

typedef enum
{
    AS_FT_SETTING_HP_CFG1,
    AS_FT_SETTING_HP_CFG2,

    AS_FT_SETTING_HP_CFG_MAX
} as_ft_setting_homepage_cfg;

typedef enum
{
    AS_FT_SETTING_HP_SHOW_PAY_DAYLY,
    AS_FT_SETTING_HP_SHOW_PAY_WEEKLY,
    AS_FT_SETTING_HP_SHOW_PAY_MONTHLY,
    AS_FT_SETTING_HP_SHOW_PAY_YEARLY,
    AS_FT_SETTING_HP_SHOW_INCOME_DAYLY,
    AS_FT_SETTING_HP_SHOW_INCOME_WEEKLY,
    AS_FT_SETTING_HP_SHOW_INCOME_MONTHLY,
    AS_FT_SETTING_HP_SHOW_INCOME_YEARLY,

    AS_FT_SETTING_HP_SHOW_MAX

} as_ft_setting_homepage_show_type;

typedef struct
{
    as_screen base;
    as_list* list_p;

} as_ft_setting_screen;

typedef struct
{
    as_screen base;
    as_list* list_p;
    ASINT level_1_idx;
    ASINT level_2_idx;

} as_ft_setting_sub_screen;

void as_ft_setting_screen_init(as_screen* screen_p);
void as_ft_setting_screen_deinit(as_screen* screen_p);
void as_enter_ft_setting_screen(void);

void as_ft_setting_sub_screen_init(as_screen* screen_p);
void as_ft_setting_sub_screen_deinit(as_screen* screen_p);
//void as_enter_ft_setting_sub_screen(void);

void as_enter_ft_setting_homepage_mgr_screen(void);
void as_enter_ft_setting_income_type_mgr_screen(void);
void as_enter_ft_setting_pay_type_mgr_screen(void);
void as_enter_ft_setting_member_mgr_screen(void);

ASSTR as_ft_setting_screen_get_opt_str(as_ft_setting_option opt);

void as_ft_setting_sub_screen_update_content(void);
void as_ft_setting_screen_switchto_pay_sub_screen(void);

ASINT as_ft_setting_screen_get_level1_idx(void);
ASINT as_ft_setting_screen_get_level2_idx(void);

#endif //__ASFTSETTINGSCREEN_H__